# @Time    :2025/4/5 18:15
import re


class Customer:
    def __init__(self, c_id, name, age="None", phone="None", email="None"):
        """初始化客户信息"""
        self.id = c_id
        self.name = name
        self.age = age
        self.phone = phone
        self.email = email

    # 客户信息校验
    # id 要是纯数字
    @staticmethod
    def check_id(c_id):
        return c_id.isdigit()

    @staticmethod
    def check_name(name):
        return name.isalpha()

    @staticmethod
    def check_age(age):
        return age.isdigit()

    @staticmethod
    def check_phone(phone):
        """检查客户电话是否合法"""
        pattern = r'^1[3-9]\d{9}$'
        return True if re.match(pattern, phone) else False  # 使用正则表达式来进行匹配检查

    @staticmethod
    def check_email(email):
        """检查客户客户邮箱是否合法"""

        return True if re.match(pattern, email) else False  # 使用正则表达式来进行匹配检查

    def __str__(self):
        """"打印客户信息"""
        return (
            f"Id:{self.id:<15},名字:{self.name:<15},年龄：{self.age:<15}，电话：{self.phone:<15},邮箱:{self.email:<15}")


# c = Customer("11", 'qw')
# print(c)
"""
1）添加id
输入纯数字则正常添加。
否则提示id必须为纯数字，并再次输入。
第三次输入时有额外提醒。
三次输入失败后终止添加客户。
id若已存在则终止添加。

2）添加姓名
输入字母或汉字则正常添加。
否则提示姓名必须为字符，并再次输入
第三次输入时有额外提醒。
三次输入失败后终止添加客户。


3）添加年龄
输入纯数字则正常添加
否则会有提示，并跳过添加年龄。


4）添加电话
输入符合手机号码格式则正常添加。
不常见的电话号码也可以添加。
不是电话号码则提示，并跳过添加电话。


5）添加邮箱
输入大致符合邮箱格式则正常添加。
若不符合邮箱格式则提示，并跳过添加邮箱。
"""
